<!DOCTYPE html>
<html lang="zh-CN">

<head>
  <meta charset="UTF-8">
  <meta name="author" content="wangbo">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>数据转化</title>
</head>

<body>
  <script>
    // 六、js的数据类型：在ECMA5之前，只有6大数据类型
    // 数值类型：Numble
    // 字符串类型：String——一组双引号或者单引号组成的
    // 布尔类型：Boolean 它的值只有 ture / false 两个值
    // null 空地址
    // undefined 未定义类型
    // Object 类型

    // 分为两大类
    // a值类型（Numble , String , Boolean , Undefined , Null）
    // b引用型（Object , Array , Function , Date ）

    // 1. 基本数据类型number、string、undefined、null、boolean、symbol、bigint
    // 2. 引用数据类型：Object【Object是个大类，function函数、array数组、date日期...等都归属于Object】
    // (1) 标准普通对象: object
    // (2) 标准特殊对象： Array、RegExp、Date、Math、Error...
    // (3) 非标准特殊对象：Number、String、Boolean...
    // (4) 可调用对象 / 执行对象：function

    let str = "我是双引号";
    console.log(str)
    let str2 = '我是单引号';
    console.log(str2)
    // es6 出来的反引号
    let str3 = `我是反引号`;
    console.log(str3)
    // 在单引号用双引号
    // 在双引号用单引号

    let str4 = "我是'双引号'";
    console.log(str4)
    let str5 = '我是"单引号"';
    console.log(str5)
    // 反引号非常 空格会车换行
    let str6 = `我'是'反"引"
     号`;
    console.log(str6)




    console.log(typeof null); // "object"
    console.log(typeof NaN); // "number"
    console.log(typeof undefined); // "undefined" undefined类型只有一个值，就是undefined

    // null 和 undefined 值相同
    console.log(null == NaN); // false
    console.log(null == undefined); // true
    console.log(NAN == undefined); // false

    // == 等同运算符，只判断值是否相等
    // === 全等运算符，既判断值是否相等，又判断类型是否相等。
    // 三者类型不同
    console.log(null === NaN); // false
    console.log(null === undefined); // false
    console.log(NaN === undefined); // false
  </script>
</body>

</html>